<?php
/**
 * 属性类型模型
 */
class TypeaModel extends Model{
//	定义表
	public $table='type_attr';
//	自动验证
	public $validate = array(
//		名称不能为空2.必须验证   3.插入并更新
		array('tname','nonull','名称不能为空',2,3),
//		名称不能超过20个字符
		array('tname','maxlen:20','名称不能超过20个字符',2,3),
//		属性值不能为空
		array('ability','nonull','属性值不能为空',2,3)
	);
	
	
	/**
	 * .................添加属性类型..........
	 */
	public function typea_data($taid){
//	 	找到提交上来的id
		$this->where(array('taid'=>$taid))->find();
//		属性类型名不能有同名
		$taname = Q('post.taname');
//		获取用户输入的名称比较有没有相同的属性名称
		if($this->get_one_data(array('taname'=>$taname))){
//		弹出错误信息
			$this->error = $taname . '名称已经存在';
//			返回假
			return false;
		}
//		p($_POST);
//		die;
//		必须加create函数,否则返回假
		if(!$this->create()) return false;
//		p($this->create());
//		die;
//		添加数据
		return $this->add();
	}
	
	/**
	 * 获得所有数据
	 */
	 public function get_all_data($where=NULL,$needPage=FALSE){
//	  	判断，如果使用分页
		if($needPage){
//			分页类用法
			//1.总条数（使用分页的时候where是有值的）
			$total=$this->where($where)->count();
			//2.每页取得多少条
			//3.显示页码的数量，10显示10条
			$pageObj=new Page($total,10);
//			显示分页
			$page=$pageObj->show();
//			算出分页类的limit
			$limit=$pageObj->limit();
//			在使用分页类的时候要注意limit
			$data=$this->where($where)->limit($limit)->all();
//			把page转换成一个数组
			$data['page'] = $page;
//			如果不使用分页
		}else{
//			那么where是null
			$data=$this->where($where)->all();
		}
//		 返回$data
		 return $data;	
	 }
	 
	 /**
	  * 删除
	  */
	 public function del($tid){
//		删除数据
		//tid 类型id
		return $this->where(array('tid'=>$tid))->delete();
	 }
	 
	 /**
	  * 修改
	  */
	  public function eaid_data($where){
		$this->where($where)->save();
	  }
	 
	 /**
	  * 获得一条数据
	  */
//	  设置两个参数，这两个参数默认为null
	 public function get_one_data($where=NULL,$field=NULL){
//	 	主要返回一条数据
		return $this->where($where)->field($field)->find();
	 }	
}
